package com.sen.service;

import com.sen.dto.RoleDTO;
import com.sen.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sen.result.Result;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sen
 * @since 2021-03-29
 */
public interface RoleService extends IService<Role> {

    /**
     * 获取角色列表
     * @param cur 第几页
     * @param size 每页记录数
     * @return
     */
    Result getRoleList(Integer cur, Integer size);

    /**
     * 新增一个角色
     * @param role
     * @return
     */
    Result saveRole(Role role);

    /**
     * 根据角色id删除角色
     * @param id
     * @return
     */
    Result deleteRoleById(Integer id);

    /**
     * 更新一个角色
     * @param role
     * @return
     */
    Result updateRole(Role role);

    /**
     * 更新一个角色拥有的权限
     * @param roleId
     * @param resourceIdList
     * @return
     */
    Result updateRoleResource(Integer roleId, List<Integer> resourceIdList);

    /**
     * 根据角色ID查询角色的详细信息，包括该角色拥有的资源信息
     * @param id
     * @return
     */
    RoleDTO getRoleById(Integer id);
}
